package Datos;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.security.AccessControlException;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class General {
	public static Connection CrearConexion(){
		
		String host; // Nombre del host donde se encuentra la BD
		String puerto;  // Puerto a traves del que nos conectamos al SGBD
		String db;   // Nombre de la BD
		String url;
		Connection conexion;
		conexion = null;
		try {
			try {
			// Se define el Driver que se utiliza para conectarse a la DB
			Class.forName("com.mysql.jdbc.Driver");
			
			} catch ( ClassNotFoundException e) {
				System.out.println("Error loading driver: " + e);
			}
			//host=leerParametros("host");
			host="localhost";
			//puerto=leerParametros("puerto");
			puerto="3306";
			//db=leerParametros("db");
			db="cpd";
			url = "jdbc:mysql://" + host + ":" + puerto + "/" + db;
			//String usuario =leerParametros("usuario");
			String usuario ="grupo2";
			//String clave =leerParametros("clave");
			String clave ="grupo2";
			// Se establece la conexion con la DB
			conexion = DriverManager.getConnection(url, usuario, clave);
		} catch (SQLException e) {
			e.printStackTrace();
		   System.out.println("SQLState: " +  e.getSQLState());
		   System.out.println("VendorError: " + e.getErrorCode());	
		}
		return conexion;
	}
	private static String leerParametros(String dato) {
		Properties prop = new Properties();
		try {
			prop.load(new FileInputStream("Clases/Configuracion/cpd.txt"));	
		} catch (FileNotFoundException e) {
			System.out.println("Error: " +  e.getMessage());
		} catch (IOException e) {
			System.out.println("Error: " +  e.getMessage());
		} catch (AccessControlException e) {
			if (dato=="host"){
				dato="julbel.no-ip.org";
			}
			if (dato=="puerto"){
				dato="33060";
			}
			if (dato=="db"){
				dato="cpd";
			}
			if (dato=="usuario"){
				dato="grupo2";
			}
			if (dato=="clave"){
				dato="grupo2";
			}
			return dato;			
		}
		dato=prop.getProperty(dato);
		return dato;
	}
}
